package com.itheima;

import java.util.HashMap;
import java.util.Map;

/**
 * @ProjectName: shixun DaErXia
 * @Titile: MapPractice
 * @Author: 雨
 * @Description: TODO
 */
public class MapPractice {
    public static void main(String[] args) {
        Map<String,String>data=new HashMap<>();
        data.put("小王","A");
        data.put("小李","B");
        data.put("小李2","C");
        data.put("小王2","A");
        data.put("小王3","A");
        data.put("小王4","B");
        data.put("小王5","A");
        data.put("小王6","C");
        data.put("小王7","B");
        data.put("小李3","A");
        data.put("小李4","B");
        //调用方法统计
        count(data);



    }
    public static void count(Map<String, String> data){
        /**
         * 1.创建一个新的map集合，用来存储统计投票结构
         * 2.遍历data集合（key--value）
         *  3.将value（A)拿出来，将value（A）当做key存储到新的集合中，
         *  4.若·A已经存在，那么将A对应值＋1
         *  5.若A不存在，那么直接将A---1，存储到新map中即可
         * 6.遍历新map集合，打印结果
         */
        Map<String,Integer> resultMap=new HashMap<>();
        data.forEach((k,v)->{
            //3.将value（A)拿出来，将value（A）当做key存储到新的集合中，
            //4.若·A已经存在，那么将A对应值＋1
            //5.若A不存在，那么直接将A---1，存储到新map中即可
            //判断v是否以及在resultMap中存在了
            boolean containsKey = resultMap.containsKey(v);
            if (containsKey){
                //将老的值取出来＋1，重新存进去
                Integer oldCount=resultMap.get(v);
                resultMap.put(v,oldCount+1);
            }else {//不存在
                resultMap.put(v,1);
            }
        });
    }
}
